import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import AutoImport from 'unplugin-auto-import/vite'
//import Components from '@uni-helper/vite-plugin-uni-components'
// 微信小程序特定配置
const isMpWeixin = process.env.UNI_PLATFORM === 'mp-weixin'
export default defineConfig({
  plugins: [
    uni(),
    
    // 配置 Vue/Pinia/UniApp API 自动引入
    AutoImport({
      imports: [
        'vue',
        'pinia',
        'uni-app',
        {
          // 添加自定义导入
          // '@/utils': ['formatDate', 'request'],
          // 'uni-miniprogram-api': ['getSystemInfoSync']
        }
      ],
      //dts: 'auto-imports.d.ts', // 生成类型声明文件
      // eslintrc: {
      //   enabled: true, // 自动生成 ESLint 配置
      //   filepath: './.eslintrc-auto-import.json'
      // },
     
      
      // 自动引入目录
      dirs: [
        'stores',
        'utils/composables/**'
      ],
	  // HBuilderX 4.45 特殊配置
	resolvers: [
	  (name) => {
		// if (name === 'ref' || name === 'reactive') {
		//   return 'vue'
		// }
		  // 解决 UniApp 特定 API 问题
		// if (name.startsWith('on') && name[2] === name[2].toUpperCase()) {
		//   return `@dcloudio/uni-app/lib/service/framework/${name.slice(2).toLowerCase()}`
		// }
	  }
	],
	  vueTemplate: true
    }),
    
    // 组件自动引入
   //  Components({
   //    dts: 'components.d.ts',
	  // include: [/\.vue$/, /\.vue\?vue/, /\.nvue$/, /\.nvue\?nvue/],
   //    types: [], // 如果使用 TS
   //  })
  ],
  build: {
	  assetsInlineLimit: 4096,
  		minify: 'terser',
  		terserOptions: {
  			compress: {
  				drop_console: process.env.NODE_ENV === 'production',
  			},
  		},
		// 微信小程序优化
		...(isMpWeixin ? {
		  commonjsOptions: {
			transformMixedEsModules: true,
			include: [/node_modules/]
		  }
		} : {})
  	},
})